package com.cskaoyan.vo;

import lombok.Data;

@Data
public class UserAuthBaseRespVo<T> {
    T data;
    String errmsg;//告诉前端请求的消息
    long errno;//自己的前后端应用 ： 自定义的状态码 → 通常前端根据该状态码做不同的处理

    public static UserAuthBaseRespVo ok(){
        UserAuthBaseRespVo<Object> baseRespVo = new UserAuthBaseRespVo<>();
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }
    public static UserAuthBaseRespVo ok(Object data){
        UserAuthBaseRespVo<Object> baseRespVo = new UserAuthBaseRespVo<>();
        baseRespVo.setData(data);
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }
    public static UserAuthBaseRespVo ok(Object data, String msg){
        UserAuthBaseRespVo<Object> baseRespVo = new UserAuthBaseRespVo<>();
        baseRespVo.setData(data);
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }
    public static UserAuthBaseRespVo fail(){
        UserAuthBaseRespVo<Object> baseRespVo = new UserAuthBaseRespVo<>();
        baseRespVo.setErrno(500);
        baseRespVo.setErrmsg("失败");
        return baseRespVo;
    }
    public static UserAuthBaseRespVo fail(String msg){
        UserAuthBaseRespVo<Object> baseRespVo = new UserAuthBaseRespVo<>();
        baseRespVo.setErrno(500);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    /**
     * 参数不对
     * @param msg
     * @return
     */
    public static UserAuthBaseRespVo failParam(String msg) {
        UserAuthBaseRespVo<Object> baseRespVo = new UserAuthBaseRespVo<>();
        baseRespVo.setErrno(401);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

}